package com.baizhi.cmfz.service;

import com.baizhi.cmfz.entity.Admin;
import org.apache.ibatis.annotations.Param;

import java.util.Map;
import java.util.Set;


public interface AdminService {

	/**
	 *
	 * @param name 管理员登陆的时候的账号
	 * @param pwd 管理员登陆的密码
	 * @return 返回一个管理员的对象实例
	 */
	Admin selectAdminByNameAndPassword(@Param("name") String name, @Param("pwd") String pwd);

	/**
	 *
	 * @param page 分页的页码
	 * @param limit 每页显示的行数
	 * @return 返回所有的结果
	 */
	Map selectAdminPage(int page, int limit);


	/**
	 *
	 * @param admin 将对象的信息添加的信息中
	 * @return 返回添加的信息
	 */
	Map insertAdmin(Admin admin);


	/**
	 *
	 * @param admin 要修改的数据
	 * @return 返回修改后的提示信息
	 */
	Map updateAdmin(Admin admin);


	/**
	 *
	 * @param adminId 要删除的id
	 * @return 返回删除的详细信息
	 */
	Map deleteAdmin(int adminId);

	/**
	 *
	 * @param id 根据id查询一个admin的实例
	 * @return 返回符合条件的实例
	 */
	Admin selectById(int id);


	/**
	 * 根据用户的名查询用户下面的所有的角色
	 * @param adminName  需要的用用户信息
	 * @return 返回这个用户的所有的角色信息
	 */
	Set<String> selectAdminRole(String adminName);

	Set<String> selectAdminResource(String adminName);

}
